

Re-salut !

Pour toute cette gestion de l'horloge, en rsum (tout a est dans ma doc
sur les nouvelles ROM Calls de l'AMS 2.07 mais parpill un peu partout) :
L'AMS n'utilise que l'auto-int 3 pour grer son horloge. Celle-ci se
dclenche exactement toute les secondes de faon trs prise. L'AMS
incrmente un timer interne (que j'ai appel OneSecondTimer) stock en RAM.
Puis tout le reste de l'AMS se base dessus pour grer la conversion en
date/heure sous forme de chane, grer les fuseaux horaires, etc.
L'auto-int3 est contrle par le bit 2 de 0x600015, qui doit tre arm pour
qu'elle se dclenche.

La ROM Call ClockOn fait : si pas HW1, bset #2,$600015.
La ROM Call IsClockOn fait un btst #2,$600015

Quand la calculatrice est teinte, $600005 est fix correctement par le trap
#4 pour qu'elle soit aussi rveille par l'auto-int3. OneSecondTimer est
ainsi aussi incrment mme pendant que la calc dort.

$700014 n'est *jamais* utilis par l'AMS ou le boot. Je dcouvert son
fonctionnement un peu par hasard en bidouillant ces ports inconnus, et en
plusieurs jours car c'tait pas facile de se synchroniser avec une
incrmentation aussi lente qu'on ne connait pas.

Donc pour une bonne mulation de l'horloge, il suffit que $600015:2 puisse
tre fix et lu, et contrle correctement l'auto-int3. $600005 doit aussi
tre bien mul.
$700014 n'est pas vraiment ncessaire par contre.
Et il faut que la calc soit dtecte comme n'tant pas une HW1. Je n'ai pas
regard pour TiEmu, mais normalement un test d'HW par l'AMS sur une ROM avec
boot retourne la bonne version correspondant au boot, et sur une ROM sans
boot retourne "HW2" (d aux valeurs alatoires  la place du boot : l'AMS
fournit alors un HWParmBlock de remplacement).

Par contre sur Titanium, c'est nettement plus compliqu :) Toute l'horloge
est gre en hardware sans l'auto-int3, et donc sans utiliser $600015 ou
$600005. Plusieurs des nouveaux ports  $7100xx sont utiliss. C'est assez
complexe, le mieux est que tu regardes la partie "Horloge" de ma doc de mon
package sur la Titanium.

> il utilise le timer pour le comptage des
> secondes (rfrence  court terme) et le dcompte (rfrence  long terme)
> pour venir se recaler dessus de faon priodique.

De faon hardware ? Par quel matriel le dcompte lent est-il fait ? (pour
l'AI3, c'est avec l'OSC2).
En tout cas ce timer ($700014) ne semble servir  rien actuellement.

++

Olivier